package com.ykq.controller;

import com.ykq.service.UserService;
import com.ykq.util.CommonResult;
import com.ykq.vo.UserVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * @program: springboot-vue
 * @description:
 * @author: 闫克起2
 * @create: 2021-12-30 16:54
 **/
@RestController
@RequestMapping("/emp")
public class UserController {
    @Autowired
    private UserService userService;

    //VO:对象 view Object 接受前端传递的对象。
    //@PathVariable:获取请求路径的参数值赋值给方法参数    http://localhost:8088/emp/list/1/5
    //前端传递的为json字符串对象---后端使用java对象接受 @RequestBody:把前端json转换为java对象。
    @PostMapping("/list/{currentPage}/{pageSize}") //接受请求路径的参数
    public CommonResult list(@PathVariable Integer currentPage,
                             @PathVariable Integer pageSize,
                             @RequestBody UserVo userVo
                             ){
        return userService.findAll(currentPage,pageSize,userVo);
    }

    //1. 把请求参数可以拼接到请求路径上。 /路径/{参数名}/{参数名}    @PathVarable
    //2. 接受前端传递的数据对象时可以自己封装响应的vo对象。
    //3. @RequstBody: 把前端的json数据转换为java对象
    //    如果你声明接口方法使用了该注解那么该接口的提交方式不能是get


    @PostMapping("login")
    public CommonResult login(String username,String password){
         return userService.findByUsernameAndPassword(username,password);
    }

}
